home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1993 / MacHack 1993.toast / MacHack™ 1987-1992 / MacHack™ '90 / Utilities ƒ / MPW Tools ƒ / Simula4.07 / Simula 4.07ƒ / SInterfaces / toolboxTextedit.sim < prev    next >
Encoding:
Text File  |  1989-04-16  |  6.8 KB  |  245 lines  |  [TEXT/MPS ]

  1.  
  2. % ---------------------------------------------------------------------------
  3. %    Class TOOLBOXTEEdit
  4. %
  5. % the routines listed in Inside Macintosh chapter ???: Desk manager
  6. % The code has been converted from the file ToolInft.p
  7. % In this module you find the interfaces to procedures concerned with the TEEdit
  8. % in the subclasses MACTEEditMgr and MACTEEdit you will find the programmers interface built on 
  9. % top of this interface.
  10. %
  11. % 890411/Göran Eriksson
  12. %
  13. % ---------------------------------------------------------------------------
  14. % ________________________________________________________
  15. %    TERec = RECORD
  16. %                destRect: Rect; {Destination rectangle}
  17. %                viewRect: Rect; {view rectangle}
  18. %                selRect: Rect; {Select rectangle}
  19. %                lineHeight: INTEGER; {Current font lineheight}
  20. %                fontAscent: INTEGER; {Current font ascent}
  21. %                selPoint: Point; {Selection point(mouseLoc)}
  22. %
  23. %                selStart: INTEGER; {Selection start}
  24. %                selEnd: INTEGER; {Selection end}
  25. %
  26. %                active: INTEGER; {<>0 if active}
  27. %
  28. %                wordBreak: ProcPtr; {Word break routine}
  29. %                clikLoop: ProcPtr; {Click loop routine}
  30. %
  31. %                clickTime: LONGINT; {Time of first click}
  32. %                clickLoc: INTEGER; {Char. location of click}
  33. %
  34. %                caretTime: LONGINT; {Time for next caret blink}
  35. %                caretState: INTEGER; {On/active booleans}
  36. %
  37. %                just: INTEGER; {fill style}
  38. %
  39. %                teLength: INTEGER; {Length of text below}
  40. %                hText: Handle; {Handle to actual text}
  41. %
  42. %                recalBack: INTEGER; {<>0 if recal in background}
  43. %                recalLines: INTEGER; {Line being recal'ed}
  44. %                clikStuff: INTEGER; {click stuff (internal)}
  45. %
  46. %                crOnly: INTEGER; {Set to -1 if CR line breaks only}
  47. %
  48. %                txFont: INTEGER; {Text Font}
  49. %                txFace: Style; {Text Face}
  50. %                txMode: INTEGER; {Text Mode}
  51. %                txSize: INTEGER; {Text Size}
  52. %
  53. %                inPort: GrafPtr; {Grafport}
  54. %
  55. %                highHook: ProcPtr; {Highlighting hook}
  56. %                caretHook: ProcPtr; {Highlighting hook}
  57. %
  58. %                nLines: INTEGER; {Number of lines}
  59. %                lineStarts: ARRAY [0..16000] OF INTEGER; {Actual line starts
  60. %                                                themselves}
  61. %            END; {RECORD}
  62. %    TEPtr = ^TERec;
  63. %    TEHandle = ^TEPtr;
  64. % __________________________________________________________________________
  65.  
  66. class ToolboxTextEdit;
  67. begin
  68.  
  69.  
  70. %    PROCEDURE TEActivate(h: TEHandle);
  71.     external Toolbox procedure x="$A9D8" is
  72.     PROCEDURE ToolboxTEActivate(h);
  73.         integer h;;
  74.  
  75. %    PROCEDURE TECalText(h: TEHandle);
  76.     external Toolbox procedure x="$A9D0" is
  77.     PROCEDURE ToolboxTECalText(h);
  78.         integer h;;
  79.  
  80. %    PROCEDURE TEClick(pt: Point; extend: BOOLEAN; h: TEHandle);
  81.     external Toolbox procedure x="$A9D4" is
  82.     PROCEDURE ToolboxTEClick(pt_h,Pt_v, extend, h);
  83.             short integer pt_h,pt_v;
  84.             boolean extend;
  85.             integer h;;
  86.  
  87. %    PROCEDURE TECopy(h: TEHandle);
  88.     external Toolbox procedure x="$A9D5" is
  89.     PROCEDURE ToolboxTECopy(h);
  90.         integer h;;
  91.  
  92. %    PROCEDURE TECut(h: TEHandle);
  93.     external Toolbox procedure x="$A9D6" is
  94.     PROCEDURE ToolboxTECut(h);
  95.             integer h;;
  96.  
  97. %    PROCEDURE TEDeActivate(h: TEHandle);
  98.     external Toolbox procedure x="$A9D9" is
  99.     PROCEDURE ToolboxTEDeActivate(h);
  100.             integer h;;
  101.  
  102. %    PROCEDURE TEDelete(h: TEHandle);
  103.     external Toolbox procedure x="$A9D7" is
  104.     PROCEDURE ToolboxTEDelete(h);
  105.             integer h;;
  106.  
  107. %    PROCEDURE TEDispose(h: TEHandle);
  108.     external Toolbox procedure x="$A9CD" is
  109.     PROCEDURE ToolboxTEDispose(h);
  110.             integer h;;
  111.  
  112. %    PROCEDURE TEIdle(h: TEHandle);
  113.     external Toolbox procedure x="$A9DA" is
  114.     PROCEDURE ToolboxTEIdle(h);
  115.             integer h;;
  116.  
  117. %    PROCEDURE TEInit;
  118.     external Toolbox procedure x="$A9CC" is
  119.     PROCEDURE ToolboxTEInit;;
  120.  
  121. %    PROCEDURE TEKey(key: CHAR; h: TEHandle);
  122.     external Toolbox procedure x="$A9DC" is
  123.     PROCEDURE ToolboxTEKey(key, h);
  124.             character key;
  125.             integer h;;
  126.  
  127. %    FUNCTION TENew(dest, view: Rect): TEHandle;
  128.     external Toolbox procedure x="$A9D2" is
  129.     integer procedure ToolboxTENew(dest, view);
  130.         name dest, view;
  131.         short integer dest, view;;
  132.  
  133. %    PROCEDURE TEPaste(h: TEHandle);
  134.     external Toolbox procedure x="$A9DB" is
  135.     PROCEDURE ToolboxTEPaste(h);
  136.             integer h;;
  137.  
  138. %    PROCEDURE TEScroll(dh, dv: INTEGER; h: TEHandle);
  139.     external Toolbox procedure x="$A9DD" is
  140.     PROCEDURE ToolboxTEScroll(dh, dv, h);
  141.             short integer dh, dv;
  142.             integer h;;
  143.  
  144. %    PROCEDURE TESetSelect(selStart, selEnd: LONGINT; h: TEHandle);
  145.     external Toolbox procedure x="$A9D1" is
  146.     PROCEDURE ToolboxTESetSelect(selStart, selEnd, h);
  147.             integer selStart, selEnd;
  148.             integer h;;
  149.  
  150. %    PROCEDURE TESetText(inText: Ptr; textLength: LONGINT; h: TEHandle);
  151.     external Toolbox procedure x="$A9CF" is
  152.     PROCEDURE ToolboxTESetText(inText, textLength, h);
  153.             name inText;
  154.             text inText;
  155.             integer textLength;
  156.             integer h;;
  157.  
  158. %    PROCEDURE TEInsert(inText: Ptr; textLength: LONGINT; h: TEHandle);
  159.     external Toolbox procedure x="$A9DE" is
  160.     PROCEDURE ToolboxTEInsert(inText, textLength, h);
  161.             name inText;
  162.             text inText;
  163.             integer textLength;            
  164.             integer h;;
  165.  
  166. %    PROCEDURE TEUpdate(rUpdate: Rect; h: TEHandle);
  167.     external Toolbox procedure x="$A9D3" is
  168.     PROCEDURE ToolboxTEUpdate(rUpdate, h);
  169.             name rUpDate;
  170.             short integer rUpdate;
  171.             integer h;;
  172.  
  173. %    PROCEDURE TESetJust(just: INTEGER; h: TEHandl);
  174.     external Toolbox procedure x="$A9DF" is
  175.     PROCEDURE ToolboxTESetJust(just, h);
  176.             short integer just;
  177.             integer h;;
  178.  
  179. %    FUNCTION TEGetText(h: TEHandle): CharsHandle;
  180.     external Toolbox procedure x="$A9CB" is
  181.     integer procedure ToolboxTEGetText(h);
  182.             integer h;;
  183.  
  184. %    FUNCTION TEScrapHandle: Handle;
  185.     external Toolbox procedure x="$2EB8, $0AB4" is
  186.     integer procedure ToolboxTEScrapHandle;;
  187.  
  188. %    FUNCTION TEGetScrapLen: LONGINT;
  189.  
  190. %    PROCEDURE TESetScrapLen(length: LONGINT);
  191.  
  192. %    FUNCTION TEFromScrap: OSErr;
  193.  
  194. %    FUNCTION TEToScrap: OSErr;
  195.  
  196. %    PROCEDURE SetWordBreak(wBrkProc: ProcPtr; hTE: TEHandle);
  197.  
  198. %    PROCEDURE SetClikLoop(clikProc: ProcPtr; hTE: TEHandle);
  199.  
  200. %    {new 128K ROM}
  201.  
  202. %    PROCEDURE TESelView(hTE: TEHandle);
  203.     external Toolbox procedure x="$A811" is
  204.     PROCEDURE ToolboxTESelView(h);
  205.             integer h;;
  206.  
  207. %    PROCEDURE TEPinScroll(dh, dv: INTEGER; hTE: TEHandle);
  208.     external Toolbox procedure x="$A812" is
  209.     PROCEDURE ToolboxTEPinScroll(dh, dv, h);
  210.             short integer dh, dv;
  211.             integer h;;
  212.  
  213. %    PROCEDURE TEAutoView(auto: BOOLEAN; hTE: TEHandle);
  214.     external Toolbox procedure x="$A813" is
  215.     PROCEDURE ToolboxTEAutoView(auto, h);
  216.             boolean auto;
  217.             integer h;;
  218.  
  219. %    {Box drawing utility}
  220.  
  221. %    PROCEDURE TextBox(inText: Ptr; textLength: LONGINT; r: Rect; Style: INTEGER);
  222.     external Toolbox procedure x="$A9CE" is
  223.     PROCEDURE ToolboxTextBox(inText, textLength, r, Style);
  224.         name inText, r;
  225.         text inText;
  226.         integer textLength;
  227.         short integer r, Style;;
  228.         
  229.         
  230. % --------------------------------------------------
  231. % Help-routines written in Pascal. Defined in SimulaInterface
  232. % Only for use in TEGetText
  233. %    function TeLength(TEH:TEHandle): integer;
  234.     external Pascal procedure x="TeLength" is
  235.     short integer procedure TeLength(TEH);
  236.         integer TEH;;
  237.     
  238. %    procedure TEXTCopy(ChH:CharsHandle; SimText:SimPtr; Length:integer);
  239.     external Pascal procedure x="TEXTCopy" is
  240.     procedure TEXTCopy(ChH, SimText, Length);
  241.         name SimText;
  242.         integer ChH;
  243.         Text SimText;
  244.         short integer Length;;
  245. end;